'''LeetCode
给定一个非负整数，重新排列他们的顺序使之组成一个最大的整数

例1：
输入：[10, 2]
输出：210

例2：
输入：[3, 20, 34, 5, 9]
输出：9534330
'''

def test(nums:list) ->str:
    # 1.把列表中的 int 转为 str
    nums = [str(i) for i in nums]

    # 2.对列表中的每个变量的第一位字符做冒泡排序
    for i in range(len(nums)-1):
        for j in range(i+1, len(nums)):
            if int(nums[i] + nums[j]) < int(nums[j] + nums[i]):
                nums[j], nums[i] = nums[i], nums[j]

    # 3.把列表转为字符串
    return str(int(''.join([str(i) for i in nums])))



nums = [0, 0]
# nums = [10, 3]
# nums = [121, 12]
# nums = [3, 30, 34, 5, 9]
print(test(nums))